/*
 * CudaAESInvOperations.h
 *
 *  Created on: Feb 26, 2010
 *      Author: lukasz
 */

#ifndef CUDAAESINVOPERATIONS_H_
#define CUDAAESINVOPERATIONS_H_
#include "ph.h"

#ifndef AESUTILS_H_
#include "aesUtils.h"
#endif

void invByteSub(byte* state, const NB nb);

void invShiftRow(byte* state, const NB nb);

void invMixColumn(byte* state, const NB nb);

void invExpandedKey(byte* eKey, const NB nb, const NB nk);

void aesDecryptInit();

void aesInvRound(byte* state, byte* eKey, const NB nb);

void aesDecryptBlock(byte* state, byte* eKey, const NB nb, const NB nk);

#endif /* CUDAAESINVOPERATIONS_H_ */
